package two_pointer.leetcode_42;

public class BruteSolution {
    public int trap(int[] height) {
        int res = 0;
        // 两端上方都不能存水
        for (int i = 1; i < height.length - 1; i++) {
            // 记录当前列左边的最大高度
            int maxLeft = 0;
            for (int j = i - 1; j >= 0; j--) {
                if (height[j] > maxLeft) {
                    maxLeft = height[j];
                }
            }
            // 记录当前列右边的最大高度
            int maxRight = 0;
            for (int k = i + 1; k < height.length; k++) {
                if (height[i] > maxRight) {
                    maxRight = height[k];
                }
            }
            // 存储量取决于两端的较小
            int min = Math.min(maxLeft, maxRight);
            // 只有较小的一段大于当前列的高度才有水
            if (min > height[i]) {
                res += min - height[i];
            }
        }
        return res;
    }
}
